import { useMessage } from "/@/hooks/web/useMessage";
import { useI18n } from "/@/hooks/web/useI18n";
// import router from '/@/router';
// import { PageEnum } from '/@/enums/pageEnum';
import { useUserStoreWidthOut } from "/@/store/modules/user";


const { createErrorModal } = useMessage();






// TODO 如果后台，异常处理有特殊的 status ，需要在switch中增加，否则统一显示 default。
// TODO status == undefined,400,1 后台返回什么显示什么。
export function getMessage(status: number, msg: string): string {

  const { t } = useI18n();
  switch (status) {
    case undefined:
    case 400:
    case 1:
      return msg;
    case 401:
      return t("sys.api.errMsg401");
    case 403:
      return t("sys.api.errMsg403");
    case 404:
      return t("sys.api.errMsg404");
    case 405:
      return t("sys.api.errMsg405");
    case 408:
      return t("sys.api.errMsg408");
    case 500:
      return t("sys.api.errMsg500");
    case 501:
      return t("sys.api.errMsg501");
    case 502:
      return t("sys.api.errMsg502");
    case 503:
      return t("sys.api.errMsg503");
    case 504:
      return t("sys.api.errMsg504");
    case 505:
      return t("sys.api.errMsg505");
    default:
      return "请求失败";

  }
}

export function checkStatus(status: number, msg: string): void {
  const userStore = useUserStoreWidthOut();
  if (status === 401) {
    userStore.setToken(undefined);
    userStore.setSessionTimeout(true);
  }

  const { t } = useI18n();
  createErrorModal({ title: t("sys.api.errorTip"), content: getMessage(status,msg) });


}
